package org.csu.mypetstore_ssm.controller;

import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.csu.mypetstore_ssm.domain.Account;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttribute;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletWebRequest;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

@Controller
@RequestMapping("/account")
public class AccountController {

    @Autowired
    HttpSession httpSession;

    //唤出登录页面
    @GetMapping("/signOn")
    public String signOn(Model model,HttpServletResponse response) throws IOException {
//        //这个方法实现验证码的生成
//        BufferedImage bi=new BufferedImage(68, 22,BufferedImage.TYPE_INT_RGB);//创建图像缓冲区
//        Graphics g=bi.getGraphics(); //通过缓冲区创建一个画布
//        Color c=new Color(200,150,255); //创建颜色
//        /*根据背景画了一个矩形框
//         */
//        g.setColor(c);//为画布创建背景颜色
//        g.fillRect(0, 0, 80,30); //fillRect:填充指定的矩形
//
//        char[] ch="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();//转化为字符型的数组
//        Random r=new Random();
//        int len=ch.length;
//        int index; //index用于存放随机数字
//        StringBuffer sb=new StringBuffer();
//        for(int i=0;i<4;i++)
//        {
//            index=r.nextInt(len);//产生随机数字
//            g.setColor(new Color(r.nextInt(88),r.nextInt(188),r.nextInt(255)));  //设置颜色
//            g.drawString(ch[index]+"",(i*15)+3, 18);//画数字以及数字的位置
//            sb.append(ch[index]);
//        }
//        model.addAttribute("piccode",sb.toString()); //将数字保留在session中，便于后续的使用
//        ImageIO.write(bi, "JPG", response.getOutputStream());
        return "account/signOn";
    }

    //创建新用户页面
    @GetMapping("/newAccount")
    public String newAccount() {
        return "account/newAccount";
    }

    //唤出修改用户数据页面
    @GetMapping("/editeAccount")
    public String editeAccount(){
        return "account/editeAccount";
    }

    @GetMapping("/signOut")
    public String signOut(){
        httpSession.setAttribute("loginAccount", null);
        return "catalog/main";
    }


}